//#include <stdio.h>
///*void testj()
//{
//    printf("test ok\t\n");
//    while(1);
//}
//*/
///*void testlw()
//{
//    printf("test ok\n");
//    while(1);
//}*/
//int main(int argc, char *argv[])
//{
//    double f0 = 1.0;
//    double f1 = 2.0;
//    double f2 = 3.0;
//    double f3 = 4.0;
//    double f5 = 5.0;
//    double f6 = 6.0;
//    
//    asm volatile (
//    "lwc1 $12,0(%0)\t\n"
//    "lwc1 $13,0(%1)\t\n"
//    "lwc1 $14,0(%2)\t\n"
//    "lwc1 $15,0(%3)\t\n"
//    "lwc1 $16,0(%4)\t\n"
//    "lwc1 $17,0(%5)\t\n"
//     :: "r" (&f0),"r" (&f1),"r" (&f2),"r" (&f3),"r"(&f5),"r"(&f6):"memory");
//    
//
//*/
//
//    asm volatile(
//                 "lui	$4, 0x4\t\n"            
//                 "lui	$5, 0x4\t\n"
//                 "lui   $6, 0x5\t\n"
//                
//                // ".word 0x00000000 \t\n"      //nop
//                // ".word 0x00000040 \t\n"      //ssnop
//                // ".word 0x000000c0 \t\n"      //ehb            
//                // ".word 0x00862820 \t\n"      //add	    a1,a0,a2             
//                // ".word 0x00862821 \t\n"      //addu	    a1,a0,a2
//                // ".word 0x00862824 \t\n"      //and	    a1,a0,a2
//                  // ".word 0x0000000d \t\n"      //Break 
//                // ".word 0x44462800 \t\n"      //cfc1	    a2,$5                                                 
//                // ".word 0x70862820 \t\n"      //clz	    a1 or a2,a0                                          
//                // ".word 0x44c62800 \t\n"      //ctc1	    a2,$5                               
//                // ".word 0x0086001a \t\n"      //div	    zero,a0,a2                               
//                // ".word 0x0086001b \t\n"      //divu	    zero,a0,a2                               
//                // ".word 0x7c862800 \t\n"      //ext	    a2,a0,0x0,0x6                                
//                // ".word 0x7c862804 \t\n"      //ins	    a2,a0,0x0,0x6                               
//                        // ".word 0x00800008 \t\n"      //jr	    a0                
//                        // ".word 0x00800408 \t\n"      //jr.hb     a0         
//                        // ".word 0x00801001 \t\n"      //jalr      a0              
//                        // ".word 0x00802809 \t\n"      //jalr      a1,a0                     
//                        // ".word 0x0080fc09 \t\n"      //jalr.hb   a0
//                        // ".word 0x00802c09 \t\n"      //jalr.hb   a1,a0    
//                        // ".word 0x4c860001 \t\n"      //ldxc1     $f0,a2(a0)
//                // ".word 0x70860000 \t\n"	  //madd	    a0,a2                                               
//                // ".word 0x70860001 \t\n"      //maddu	    a0,a2         
//                // ".word 0x44662800 \t\n"      //mfhc1	    a2,$f5     
//                // ".word 0x44062800 \t\n"      //mfc1	    a2,$f5         
//                // ".word 0x00002810 \t\n"      //mfhi	    a1                     
//                // ".word 0x00802801 \t\n"      //movf	    a1,a0,$fcc0               
//                // ".word 0x0086280b \t\n"      //movn	    a1,a0,a2
//                // ".word 0x0086280a \t\n"      //movz	    a1,a0,a2
//                // ".word 0x70860004 \t\n"      //msub	    a0,a2
//                // ".word 0x70860005 \t\n"      //msubu	    a0,a2
//                // ".word 0x44862800 \t\n"      //mtc1	    a2,$f5 
//                // ".word 0x44e62800 \t\n"      //mthc1	    a2,$f5 
//                // ".word 0x00800013 \t\n"      //mtlo	    a0 
//                // ".word 0x70862802 \t\n"      //mul	    a1,a0,a2 
//                // ".word 0x00860018 \t\n"      //mult	    a0,a2            
//                // ".word 0x00860019 \t\n"      //multu	    a0,a2 
//                // ".word 0x00862827 \t\n"      //nor	    a1,a0,a2 
//                // ".word 0x00862825 \t\n"      //or	    a1,a0,a2
//                // ".word 0x7c062c20 \t\n"      //seb	    a1,a2 
//                // ".word 0x7c062e20 \t\n"      //seh	    a1,a2 
//                // ".word 0x00862804 \t\n"      //sllv	    a1,a2,a0 
//                // ".word 0x0086282a \t\n"      //slt	    a1,a0,a2 
//                // ".word 0x0086282b \t\n"      //sltu	    a1,a0,a2      
//                // ".word 0x00862807 \t\n"      //srav	    a1,a2,a0 
//                // ".word 0x00862822 \t\n"      //sub	    a1,a0,a2 
//                // ".word 0x00862823 \t\n"      //subu	    a1,a0,a2 
//                // ".word 0x0000000f \t\n"      //sync  
//                // ".word 0x0000000c \t\n"      //syscall                        
//                      // ".word 0x00860034 \t\n"      //teq	    a0,a2  
//                      // ".word 0x00860030 \t\n"      //tge       a0,a2
//                      // ".word 0x00860031 \t\n"      //tgeu      a0,a2
//                      // ".word 0x00860032 \t\n"      //tlt	    a0,a2                
//                      // ".word 0x00860033 \t\n"      //tltu	    a0,a2     
//                      // ".word 0x00860036 \t\n"      //tne	    a0,a2
//                // ".word 0x7c0628a0 \t\n"      //wsbh	    a1,a2       
//                // ".word 0x00862826 \t\n"      //xor	    a1,a0,a2
//                // ".word 0x00062900 \t\n"      //sll	    a1,a2,0x4
//                // ".word 0x00062903 \t\n"      //sra	    a1,a2,0x4
//                // ".word 0x00062902 \t\n"      //srl	    a1,a2,0x4              
//                // ".word 0x46001045 \t\n"      //abs.s	    $f1,$f2            
//                // ".word 0x46201045 \t\n"      //abs.d	    $f1,$f2
//                //// ".word 0x46c01045 \t\n"      //abs.ps    $f1,$f2    
//                // ".word 0x46031040 \t\n"      //add.s	    $f1,$f2,$f3     
//                // ".word 0x46231040 \t\n"      //add.d	    $f1,$f2,$f3
//                //// ".word 0x46c31040 \t\n"      //add.ps    $f1,$f2,$f3
//                //// ".word 0x4c03105e \t\n"      //alnv.ps   $f1,$f2,$f3,zero
//                // ".word 0x46231030 \t\n"      //c.f.d	    $f2,$f3    
//                // ".word 0x46031030 \t\n"      //c.f.s	    $f2,$f3
//                //// ".word 0x46c31030 \t\n"      //c.f.ps	$f2,$f3
//                // ".word 0x46231031 \t\n"      //c.un.d	$f2,$f3
//                // ".word 0x46031031 \t\n"      //c.un.s	$f2,$f3
//                //// ".word 0x46c31031 \t\n"      //c.un.ps	$f2,$f3
//                // ".word 0x46231032 \t\n"      //c.eq.d	$f2,$f3
//                // ".word 0x46031032 \t\n"      //c.eq.s	$f2,$f3
//                //// ".word 0x46c31032 \t\n"      //c.eq.ps	$f2,$f3
//                // ".word 0x46231033 \t\n"      //c.ueq.d	$f2,$f3                                                               
//                // ".word 0x46031033 \t\n"      //c.ueq.s	$f2,$f3
//                //// ".word 0x46c31033 \t\n"      //c.ueq.ps	$f2,$f3                                                                                                                                
//                // ".word 0x46231034 \t\n"      //c.olt.d	$f2,$f3                                                              
//                // ".word 0x46031034 \t\n"      //c.olt.s	$f2,$f3 
//                //// ".word 0x46c31034 \t\n"	    //c.olt.ps	$f2,$f3                                                                                                                         
//                // ".word 0x46231036 \t\n"      //c.ole.d	$f2,$f3                                                               
//                // ".word 0x46031036 \t\n"      //c.ole.s	$f2,$f3
//                //// ".word 0x46c31036 \t\n"	    //c.ole.ps	$f2,$f3                                                                                                                                
//                // ".word 0x46231037 \t\n"      //c.ule.d	$f2,$f3                                                               
//                // ".word 0x46031037 \t\n"      //c.ule.s	$f2,$f3
//                //// ".word 0x46c31037 \t\n"	    //c.ule.ps	$f2,$f3                                                                                                                                
//                // ".word 0x46231038 \t\n"      //c.sf.d	$f2,$f3                                                               
//                // ".word 0x46031038 \t\n"      //c.sf.s	$f2,$f3
//                //// ".word 0x46c31038 \t\n" 	    //c.sf.ps	$f2,$f3                                                                                                                                
//                // ".word 0x46231039 \t\n"      //c.ngle.d  $f2,$f3                                                               
//                // ".word 0x46031039 \t\n"      //c.ngle.s  $f2,$f3
//                //// ".word 0x46c31039 \t\n"	    //c.ngle.ps $f2,$f3                                                                                                                                
//                // ".word 0x4623103a \t\n"      //c.seq.d	$f2,$f3                                                               
//                // ".word 0x4603103a \t\n"      //c.seq.s	$f2,$f3
//                //// ".word 0x46c3103a \t\n"	    //c.seq.ps	$f2,$f3                                                                                                                                
//                // ".word 0x4623103b \t\n"      //c.ngl.d	$f2,$f3                                                               
//                // ".word 0x4603103b \t\n"      //c.ngl.s	$f2,$f3
//                //// ".word 0x46c3103b \t\n"	    //c.ngl.ps	$f2,$f3                                                                                                                                
//                // ".word 0x4623103c \t\n"      //c.lt.d	$f2,$f3                                                               
//                // ".word 0x4603103c \t\n"      //c.lt.s	$f2,$f3
//                //// ".word 0x46c3103c \t\n"	    //c.lt.ps	$f2,$f3                                                                                                                                
//                // ".word 0x4623103d \t\n"      //c.nge.d	$f2,$f3                                                               
//                // ".word 0x4603103d \t\n"      //c.nge.s	$f2,$f3
//                //// ".word 0x46c3103d \t\n"	    //c.nge.ps	$f2,$f3                                                                                                                                             
//                // ".word 0x4623103e \t\n"      //c.le.d	$f2,$f3                                                               
//                // ".word 0x4603103e \t\n"      //c.le.s	$f2,$f3
//                //// ".word 0x46c3103e \t\n"	    //c.le.ps   $f2,$f3                                                                                                                                
//                // ".word 0x4623103f \t\n"      //c.ngt.d	$f2,$f3                                                               
//                // ".word 0x4603103f \t\n"      //c.ngt.s	$f2,$f3
//                //// ".word 0x46c3103f \t\n"	    //c.ngt.ps	$f2,$f3                                                                                                                               
//                // ".word 0x4620104a \t\n"      //ceil.l.d  $f1,$f2                                                               
//                // ".word 0x4600104a \t\n"      //ceil.l.s  $f1,$f2                                                               
//                // ".word 0x4620104e \t\n"      //ceil.w.d  $f1,$f2                                                               
//                // ".word 0x4600104e \t\n"      //ceil.w.s  $f1,$f2                                                               
//                // ".word 0x46a01061 \t\n"      //cvt.d.l	$f1,$f2                                                               
//                // ".word 0x46001061 \t\n"      //cvt.d.s	$f1,$f2                                                               
//                // ".word 0x46801061 \t\n"      //cvt.d.w	$f1,$f2                                                               
//                // ".word 0x46201065 \t\n"      //cvt.l.d	$f1,$f2                                                               
//                // ".word 0x46001065 \t\n"      //cvt.l.s	$f1,$f2                                                               
//                //// ".word 0x46c01068 \t\n"        //cvt.s.pl	$f1,$f2                                                                 
//                //// ".word 0x46c01060 \t\n"        //cvt.s.pu	$f1,$f2                                                                 
//                // ".word 0x46201064 \t\n"      //cvt.w.d	$f1,$f2                                                               
//                // ".word 0x46001064 \t\n"      //cvt.w.s	$f1,$f2
//                //// ".word 0x46031066 \t\n"	    //cvt.ps.s	$f1,$f2,$f3                                                                                                                                
//                // ".word 0x46231043 \t\n"      //div.d	    $f1,$f2,$f3                                                               
//                // ".word 0x46031043 \t\n"      //div.s	    $f1,$f2,$f3                                                               
//                // ".word 0x4620104b \t\n"      //floor.l.d $f1,$f2                                                               
//                // ".word 0x4600104b \t\n"      //floor.l.s $f1,$f2                                                               
//                // ".word 0x4620104f \t\n"      //floor.w.d $f1,$f2                                                               
//                // ".word 0x4600104f \t\n"      //floor.w.s $f1,$f2                                                               
//                // ".word 0x4c031061 \t\n"      //madd.d	$f1,$f0,$f2,$f3                                                               
//                // ".word 0x4c031060 \t\n"      //madd.s	$f1,$f0,$f2,$f3
//                //// ".word 0x4c031066 \t\n"	    //madd.ps	$f1,$f0,$f2,$f3                                                                                                                                
//                // ".word 0x46201046 \t\n"      //mov.d	    $f1,$f2                                                                                
//                // ".word 0x46001046 \t\n"      //mov.s	    $f1,$f2
//                //// ".word 0x46c01046 \t\n"	    //mov.ps	$f1,$f2                                                                                                                              
//                // ".word 0x46201051 \t\n"      //movf.d	$f1,$f2,$fcc0                                                               
//                // ".word 0x46001051 \t\n"      //movf.s	$f1,$f2,$fcc0
//                //// ".word 0x46c01051 \t\n"	    //movf.ps	$f1,$f2,$fcc0                                                                                                                               
//                // ".word 0x46231053 \t\n"      //movn.d	$f1,$f2,$v1                                                               
//                // ".word 0x46031053 \t\n"      //movn.s	$f1,$f2,$v1
//                //// ".word 0x46c31053 \t\n"	    //movn.ps	$f1,$f2,v1                                                                                                                               
//                // ".word 0x46231052 \t\n"      //movz.d	$f1,$f2,$v1                                                               
//                // ".word 0x46031052 \t\n"      //movz.s	$f1,$f2,$v1
//                //// ".word 0x46c31052 \t\n"	    //movz.ps	$f1,$f2,v1                                                                                                                              
//                // ".word 0x4c031069 \t\n"      //msub.d	$f1,$f0,$f2,$f3                                                               
//                // ".word 0x4c031068 \t\n"      //msub.s	$f1,$f0,$f2,$f3
//                //// ".word 0x4c03106e \t\n"	    //msub.ps	$f1,$f0,$f2,$f3                                                                                                                                
//                // ".word 0x46231042 \t\n"      //mul.d	    $f1,$f2,$f3                                                               
//                // ".word 0x46031042 \t\n"      //mul.s	    $f1,$f2,$f3
//                //// ".word 0x46c31042 \t\n"	    //mul.ps	$f1,$f2,$f3                                                                                                                               
//                // ".word 0x46201048 \t\n"      //round.l.d $f1,$f2                                                               
//                // ".word 0x46001048 \t\n"      //round.l.s $f1,$f2                                                               
//                // ".word 0x4620104c \t\n"      //round.w.d $f1,$f2                                                               
//                // ".word 0x4600104c \t\n"      //round.w.s $f1,$f2                                                               
//                // ".word 0x46201056 \t\n"      //rsqrt.d	$f1,$f2                                                               
//                // ".word 0x46001056 \t\n"      //rsqrt.s	$f1,$f2                                                               
//                // ".word 0x46201044 \t\n"      //sqrt.d	$f1,$f2                                                               
//                // ".word 0x46001044 \t\n"      //sqrt.s	$f1,$f2                                                               
//                // ".word 0x46201049 \t\n"      //trunc.l.d $f1,$f2                                                               
//                // ".word 0x46001049 \t\n"      //trunc.l.s $f1,$f2                                                               
//                // ".word 0x4620104d \t\n"      //trunc.w.d $f1,$f2                                                               
//                // ".word 0x4600104d \t\n"      //trunc.w.s $f1,$f2                                                               
//                // ".word 0xcc860004 \t\n"      //pref	    0x6,4(a0)                                                               
//                
//                        // ".word 0x10000004 \t\n"      //b	        40084c <main+0x2bc>                                                                 
//                        // ".word 0x04110004 \t\n"      //bal	    400850 <main+0x2c0>                                                                 
//                // ".word 0x20860004 \t\n"      //addi	    a2,a0,4                                                               
//                // ".word 0x24860004 \t\n"      //addiu	    a2,a0,4                                                               
//                        // ".word 0x45000004 \t\n"      //bc1f	    40085c <main+0x2cc>                                                                 
//                        // ".word 0x45020004 \t\n"      //bc1fl	    400860 <main+0x2d0>                                                                 
//                        // ".word 0x45010004 \t\n"      //bc1t	    400864 <main+0x2d4>                                                                 
//                        // ".word 0x45030004 \t\n"      //bc1tl	    400868 <main+0x2d8>                                                                 
//                        // ".word 0x10860004 \t\n"      //beq	        a0,a2,40086c <main+0x2dc>                                                                 
//                        // ".word 0x50860004 \t\n"      //beql	    a0,a2,400870 <main+0x2e0>                                                                 
//                        // ".word 0x04810004 \t\n"      //bgez	    a0,400874 <main+0x2e4>                                                                 
//                        // ".word 0x04830004 \t\n"      //bgezl	    a0,400878 <main+0x2e8>                                                                 
//                        // ".word 0x04910004 \t\n"      //bgezal	    a0,40087c <main+0x2ec>                                                                 
//                        // ".word 0x04930004 \t\n"      //bgezall     a0,400880 <main+0x2f0>                                                                 
//                        // ".word 0x1c800004 \t\n"      //bgtz	    a0,400884 <main+0x2f4>                                                                 
//                        // ".word 0x5c800004 \t\n"      //bgtzl	    a0,400888 <main+0x2f8>                                                                 
//                        // ".word 0x18800004 \t\n"      //blez	    a0,40088c <main+0x2fc>                                                                 
//                        // ".word 0x58800004 \t\n"      //blezl	    a0,400890 <main+0x300>                                                                 
//                        // ".word 0x04800004 \t\n"      //bltz	    a0,400894 <main+0x304>                                                                 
//                        // ".word 0x04820004 \t\n"      //bltzl	    a0,400898 <main+0x308>                                                                 
//                        // ".word 0x04900004 \t\n"      //bltzal	    a0,40089c <main+0x30c>                                                                 
//                        // ".word 0x04920004 \t\n"      //bltzall     a0,4008a0 <main+0x310>                                                                 
//                        // ".word 0x14860004 \t\n"      //bne	        a0,a2,4008a4 <main+0x314>                                                                 
//                        // ".word 0x54860004 \t\n"      //bnel	    a0,a2,400654 <main+0xc4>  
//                // ".word 0xbc860004 \t\n"      //cache	    0x6,4(a0)   不管它
//                        // ".word 0x90860004 \t\n"      //lbu	        a2,4(a0)                                                                                         
//                        // ".word 0xd4860004 \t\n"      //ldc1	    $f6,4(a0)                                                                                         
//                        // ".word 0xd4860004 \t\n"      //ldc1	    $f6,4(a0)                                                                                         
//                        // ".word 0xd8860004 \t\n"      //ldc2	    $6,4(a0)       
//                        // ".word 0x84860004 \t\n"      //lh	        a2,4(a0)              
//                        // ".word 0x94860004 \t\n"      //lhu	        a2,4(a0)              
//                        // ".word 0xc0860004 \t\n"      //ll	        a2,4(a0)     
//                        // ".word 0x3c060004 \t\n"      //lui	        a2,0x4     
//                        // ".word 0x8c860004 \t\n"      //lw	        a2,4(a0)    
//                        // ".word 0x88860004 \t\n"      //lwl	        a2,4(a0)              
//                        // ".word 0x98860004 \t\n"      //lwr	        a2,4(a0)              
//                        // ".word 0x34860004 \t\n"      //ori	        a2,a0,0x4     
//                        // ".word 0xa0860004 \t\n"      //sb	        a2,4(a0)              
//                        // ".word 0xe0860004 \t\n"      //sc	        a2,4(a0)     
//                        // ".word 0xa4860004 \t\n"      //sh	        a2,4(a0)              
//                        // ".word 0x28860004 \t\n"      //slti	    a2,a0,4     
//                        // ".word 0x2c860004 \t\n"      //sltiu	    a2,a0,4     
//                        // ".word 0xac860004 \t\n"      //sw	        a2,4(a0)              
//                        // ".word 0xa8860004 \t\n"      //swl	        a2,4(a0)              
//                        // ".word 0xb8860004 \t\n"      //swr	        a2,4(a0)              
//                        // ".word 0x049f0004 \t\n"      //synci	    4(a0)              
//                      // ".word 0x048c0004 \t\n"      //teqi	    a0,4     
//                      // ".word 0x04880004 \t\n"      //tgei	    a0,4 Bus error 1？怎么都trap    
//                      // ".word 0x04890004 \t\n"      //tgeiu	    a0,4 Bus error？同上且u怎么处理
//                      // ".word 0x048a0004 \t\n"      //tlti	    a0,4 Trap ？怎么都trap     
//                      // ".word 0x048b0004 \t\n"      //tltiu	    a0,4 Trap ？同上且u        
//                      // ".word 0x048e0004 \t\n"      //tnei	    a0,4 Trap ？同上          
//                // ".word 0x38860004 \t\n"      //xori	    a2,a0,0x4     
//                // ".word 0x49000004 \t\n"      //bc2f	    400920 <main+0x390>       
//                // ".word 0x49020004 \t\n"      //bc2fl	    400924 <main+0x394>       
//                // ".word 0x49030004 \t\n"      //bc2tl	    400928 <main+0x398>       
//                        // ".word 0x0810016C \t\n"      //j	        10 <_DYNAMIC-0x400190>       
//                        // ".word 0x0c10016C \t\n"      //jal	    10 <_DYNAMIC-0x400190> 
//                );
//
//    return 0;
//}




/*
    每个都生成.c文件，然后做一个这些.c文件的归纳.c文件，然后通过main函数运行不同归纳.c文件
*/


/*
while（i=234-9+1）
    {
        if 
            {
                检测到异常中断，则输出异常字符\n,并删除该行;
            }
        else  输出\n；
        i++;
    }
return 0；
*/


/*分类文本
第一类：
其中被注释掉的指令是不确定如何检验or不常用到的

#include <stdio.h>
int main(int argc, char *argv[])
{
    double f0 = 1.0;
    double f1 = 2.0;
    double f2 = 3.0;
    double f3 = 4.0;
    double f5 = 5.0;
    double f6 = 6.0;
    
    asm volatile (
                   "lwc1 $12,0(%0)\t\n"
                   "lwc1 $13,0(%1)\t\n"
                   "lwc1 $14,0(%2)\t\n"
                   "lwc1 $15,0(%3)\t\n"
                   "lwc1 $16,0(%4)\t\n"
                   "lwc1 $17,0(%5)\t\n"
                    :: "r" (&f0),"r" (&f1),"r" (&f2),"r" (&f3),"r"(&f5),"r"(&f6):"memory");
    asm volatile (  "lui $4, 0x4\t\n"            
                    "lui $5, 0x4\t\n"
                    "lui $6, 0x5\t\n"    

                 ".word 0x00000000 \t\n"      //nop
                 ".word 0x00000040 \t\n"      //ssnop
                 ".word 0x000000c0 \t\n"      //ehb            
                 ".word 0x00862820 \t\n"      //add	        
                 ".word 0x00862821 \t\n"      //addu	    
                 ".word 0x00862824 \t\n"      //and	        
                 ".word 0x44462800 \t\n"      //cfc1	    
                 ".word 0x70862820 \t\n"      //clz	        
                 ".word 0x44c62800 \t\n"      //ctc1	    
                 ".word 0x0086001a \t\n"      //div	        
                 ".word 0x0086001b \t\n"      //divu	    
                 ".word 0x7c862800 \t\n"      //ext	        
                 ".word 0x7c862804 \t\n"      //ins	        
                 ".word 0x70860000 \t\n"	  //madd	    
                 ".word 0x70860001 \t\n"      //maddu	    
                 ".word 0x44662800 \t\n"      //mfhc1	    
                 ".word 0x44062800 \t\n"      //mfc1	    
                 ".word 0x00002810 \t\n"      //mfhi	    
                 ".word 0x00802801 \t\n"      //movf	    
                 ".word 0x0086280b \t\n"      //movn	    
                 ".word 0x0086280a \t\n"      //movz	    
                 ".word 0x70860004 \t\n"      //msub	    
                 ".word 0x70860005 \t\n"      //msubu	    
                 ".word 0x44862800 \t\n"      //mtc1	    
                 ".word 0x44e62800 \t\n"      //mthc1	    
                 ".word 0x00800013 \t\n"      //mtlo	    
                 ".word 0x70862802 \t\n"      //mul	        
                 ".word 0x00860018 \t\n"      //mult	    
                 ".word 0x00860019 \t\n"      //multu	    
                 ".word 0x00862827 \t\n"      //nor	        
                 ".word 0x00862825 \t\n"      //or	        
                 ".word 0x7c062c20 \t\n"      //seb	        
                 ".word 0x7c062e20 \t\n"      //seh	        
                 ".word 0x00862804 \t\n"      //sllv	    
                 ".word 0x0086282a \t\n"      //slt	        
                 ".word 0x0086282b \t\n"      //sltu	    
                 ".word 0x00862807 \t\n"      //srav	    
                 ".word 0x00862822 \t\n"      //sub	        
                 ".word 0x00862823 \t\n"      //subu	    
                 ".word 0x0000000f \t\n"      //sync
                // ".word 0x049f0004 \t\n"      //synci  
                // ".word 0x0000000c \t\n"      //syscall
                 ".word 0x7c0628a0 \t\n"      //wsbh	 
                 ".word 0x00862826 \t\n"      //xor	        
                 ".word 0x00062900 \t\n"      //sll	        
                 ".word 0x00062903 \t\n"      //sra	        
                 ".word 0x00062902 \t\n"      //srl	        
                 ".word 0x46001045 \t\n"      //abs.s	    
                 ".word 0x46201045 \t\n"      //abs.d	    
                // ".word 0x46c01045 \t\n"      //abs.ps    
                 ".word 0x46031040 \t\n"      //add.s	    
                 ".word 0x46231040 \t\n"      //add.d	    
                // ".word 0x46c31040 \t\n"      //add.ps    
                // ".word 0x4c03105e \t\n"      //alnv.ps   
                 ".word 0x46231030 \t\n"      //c.f.d	    
                 ".word 0x46031030 \t\n"      //c.f.s	    
                // ".word 0x46c31030 \t\n"      //c.f.ps	
                 ".word 0x46231031 \t\n"      //c.un.d	    
                 ".word 0x46031031 \t\n"      //c.un.s	    
                // ".word 0x46c31031 \t\n"      //c.un.ps	
                 ".word 0x46231032 \t\n"      //c.eq.d	    
                 ".word 0x46031032 \t\n"      //c.eq.s	    
                // ".word 0x46c31032 \t\n"      //c.eq.ps	
                 ".word 0x46231033 \t\n"      //c.ueq.d	    
                 ".word 0x46031033 \t\n"      //c.ueq.s	    
                // ".word 0x46c31033 \t\n"      //c.ueq.ps	
                 ".word 0x46231034 \t\n"      //c.olt.d	    
                 ".word 0x46031034 \t\n"      //c.olt.s	    
                // ".word 0x46c31034 \t\n"	    //c.olt.ps	
                 ".word 0x46231036 \t\n"      //c.ole.d	    
                 ".word 0x46031036 \t\n"      //c.ole.s	    
                // ".word 0x46c31036 \t\n"	    //c.ole.ps	
                 ".word 0x46231037 \t\n"      //c.ule.d	    
                 ".word 0x46031037 \t\n"      //c.ule.s	    
                // ".word 0x46c31037 \t\n"	    //c.ule.ps	
                 ".word 0x46231038 \t\n"      //c.sf.d	    
                 ".word 0x46031038 \t\n"      //c.sf.s	    
                // ".word 0x46c31038 \t\n" 	    //c.sf.ps	
                 ".word 0x46231039 \t\n"      //c.ngle.d    
                 ".word 0x46031039 \t\n"      //c.ngle.s    
                // ".word 0x46c31039 \t\n"	    //c.ngle.ps 
                 ".word 0x4623103a \t\n"      //c.seq.d	    
                 ".word 0x4603103a \t\n"      //c.seq.s	    
                // ".word 0x46c3103a \t\n"	    //c.seq.ps	
                 ".word 0x4623103b \t\n"      //c.ngl.d	    
                 ".word 0x4603103b \t\n"      //c.ngl.s	    
                // ".word 0x46c3103b \t\n"	    //c.ngl.ps	
                 ".word 0x4623103c \t\n"      //c.lt.d	    
                 ".word 0x4603103c \t\n"      //c.lt.s	    
                // ".word 0x46c3103c \t\n"	    //c.lt.ps	
                 ".word 0x4623103d \t\n"      //c.nge.d	    
                 ".word 0x4603103d \t\n"      //c.nge.s	    
                // ".word 0x46c3103d \t\n"	    //c.nge.ps	
                 ".word 0x4623103e \t\n"      //c.le.d	    
                 ".word 0x4603103e \t\n"      //c.le.s	    
                // ".word 0x46c3103e \t\n"	    //c.le.ps   
                 ".word 0x4623103f \t\n"      //c.ngt.d	    
                 ".word 0x4603103f \t\n"      //c.ngt.s	    
                // ".word 0x46c3103f \t\n"	    //c.ngt.ps	
                 ".word 0x4620104a \t\n"      //ceil.l.d    
                 ".word 0x4600104a \t\n"      //ceil.l.s    
                 ".word 0x4620104e \t\n"      //ceil.w.d    
                 ".word 0x4600104e \t\n"      //ceil.w.s    
                 ".word 0x46a01061 \t\n"      //cvt.d.l	    
                 ".word 0x46001061 \t\n"      //cvt.d.s	    
                 ".word 0x46801061 \t\n"      //cvt.d.w	    
                 ".word 0x46201065 \t\n"      //cvt.l.d	    
                 ".word 0x46001065 \t\n"      //cvt.l.s	    
                // ".word 0x46c01068 \t\n"      //cvt.s.pl	
                // ".word 0x46c01060 \t\n"      //cvt.s.pu	
                 ".word 0x46201064 \t\n"      //cvt.w.d	    
                 ".word 0x46001064 \t\n"      //cvt.w.s	    
                // ".word 0x46031066 \t\n"	    //cvt.ps.s	
                 ".word 0x46231043 \t\n"      //div.d	    
                 ".word 0x46031043 \t\n"      //div.s	    
                 ".word 0x4620104b \t\n"      //floor.l.d   
                 ".word 0x4600104b \t\n"      //floor.l.s   
                 ".word 0x4620104f \t\n"      //floor.w.d   
                 ".word 0x4600104f \t\n"      //floor.w.s   
                 ".word 0x4c031061 \t\n"      //madd.d	    
                 ".word 0x4c031060 \t\n"      //madd.s	    
                // ".word 0x4c031066 \t\n"	    //madd.ps	
                 ".word 0x46201046 \t\n"      //mov.d	    
                 ".word 0x46001046 \t\n"      //mov.s	    
                // ".word 0x46c01046 \t\n"	    //mov.ps	
                 ".word 0x46201051 \t\n"      //movf.d	    
                 ".word 0x46001051 \t\n"      //movf.s	    
                // ".word 0x46c01051 \t\n"	    //movf.ps	
                 ".word 0x46231053 \t\n"      //movn.d	    
                 ".word 0x46031053 \t\n"      //movn.s	    
                // ".word 0x46c31053 \t\n"	    //movn.ps	
                 ".word 0x46231052 \t\n"      //movz.d	    
                 ".word 0x46031052 \t\n"      //movz.s	    
                // ".word 0x46c31052 \t\n"	    //movz.ps	
                 ".word 0x4c031069 \t\n"      //msub.d	    
                 ".word 0x4c031068 \t\n"      //msub.s	    
                // ".word 0x4c03106e \t\n"	    //msub.ps	
                 ".word 0x46231042 \t\n"      //mul.d	    
                 ".word 0x46031042 \t\n"      //mul.s	    
                // ".word 0x46c31042 \t\n"	    //mul.ps	
                 ".word 0x46201048 \t\n"      //round.l.d   
                 ".word 0x46001048 \t\n"      //round.l.s   
                 ".word 0x4620104c \t\n"      //round.w.d   
                 ".word 0x4600104c \t\n"      //round.w.s   
                 ".word 0x46201056 \t\n"      //rsqrt.d	    
                 ".word 0x46001056 \t\n"      //rsqrt.s	    
                 ".word 0x46201044 \t\n"      //sqrt.d	    
                 ".word 0x46001044 \t\n"      //sqrt.s	    
                 ".word 0x46201049 \t\n"      //trunc.l.d   
                 ".word 0x46001049 \t\n"      //trunc.l.s   
                 ".word 0x4620104d \t\n"      //trunc.w.d   
                 ".word 0x4600104d \t\n"      //trunc.w.s   
                 ".word 0xcc860004 \t\n"      //pref	    
                 ".word 0x34860004 \t\n"      //ori	     
                 ".word 0x20860004 \t\n"      //addi	                                                                   
                 ".word 0x24860004 \t\n"      //addiu	    
                // ".word 0xbc860004 \t\n"      //cache
                 ".word 0x38860004 \t\n"      //xori	     
                );
    return 0;
}            
*/

/*
第二类：
如果删去第一行指令的注释符，显示trap，则该break指令正确。
#include <stdio.h>
int main(int argc, char *argv[])
{
    asm volatile(
                 //".word 0x0000000d \t\n"      //Break
                 ".word 0x00000000 \t\n"     //nop
                );
    return 0;
}
*/

/*
第三类：
依据a0和a2的大小，看不同条件下是否能成功跳转打印 test ok

#include <stdio.h>
void testtrap()
{
    printf("test ok \t\n");
    while(1);
}
int main(int argc, char *argv[])
{
    asm volatile (
                    "lui $4, 0x4\t\n"            
                    "lui $6, 0x5\t\n"
                 ".word 0x00860034 \t\n"      //teq
                 ".word 0x048c0004 \t\n"      //teqi
                 ".word 0x00860030 \t\n"      //tge   
                 ".word 0x00860031 \t\n"      //tgeu
                 ".word 0x0810016C \t\n"      //j

                //  "lui $4, 0x5\t\n"            
                //  "lui $6, 0x6\t\n"                  
                // ".word 0x00860032 \t\n"      //tlt	                
                // ".word 0x00860033 \t\n"      //tltu
                // ".word 0x0810016C \t\n"      //j

                //    "lui $4, 0x5\t\n"            
                //    "lui $6, 0x5\t\n"                	     
                // ".word 0x00860036 \t\n"      //tne
                // ".word 0x0810016C \t\n"      //j

                // ".word 0x04880004 \t\n"      //tgei	    //指令或许有误：不论a0和4的比较结果如何，都trap    
                // ".word 0x04890004 \t\n"      //tgeiu	    //指令或许有误：不论a0和4的比较结果如何，都trap
                // ".word 0x048a0004 \t\n"      //tlti	    //指令或许有误：不论a0和4的比较结果如何，都不trap
                // ".word 0x048b0004 \t\n"      //tltiu	    //指令或许有误：不论a0和4的比较结果如何，都不trap
                // ".word 0x048e0004 \t\n"      //tnei	    //指令或许有误：不论a0和4的比较结果如何，都trap
                );
    return 0;
}
*/

/*
第四类：
*/
#include <stdio.h>
void testj()
{
    printf("test ok \t\n");
    while(1);
}
int main(int argc, char *argv[])
{
    asm volatile(
                "lui $4, 0x5\t\n"            
                "lui $6, 0x5\t\n"   

                // ".word 0x03200008 \t\n"      //jr	    a0                
                // ".word 0x00800408 \t\n"      //jr.hb     a0         
                // ".word 0x0080f809  \t\n"     //jalr      a0       0x0080f809       
                // ".word 0x00802809 \t\n"      //jalr      a1,a0                     
                // ".word 0x0080fc09 \t\n"      //jalr.hb   a0
                // ".word 0x00802c09 \t\n"      //jalr.hb   a1,a0    
                // ".word 0x4c860001 \t\n"      //ldxc1     $f0,a2(a0)
                // ".word 0x10000004 \t\n"      //b	        40084c <main+0x2bc>                                                                 
                // ".word 0x04110004 \t\n"      //bal	    400850 <main+0x2c0>   
                // ".word 0x45000004 \t\n"      //bc1f	    40085c <main+0x2cc>                                                                 
                // ".word 0x45020004 \t\n"      //bc1fl	    400860 <main+0x2d0>                                                                 
                // ".word 0x45010004 \t\n"      //bc1t	    400864 <main+0x2d4>                                                                 
                // ".word 0x45030004 \t\n"      //bc1tl	    400868 <main+0x2d8>                                                                 
                 // ".word 0x10860004 \t\n"      //beq	                                                                     
                // ".word 0x50860004 \t\n"      //beql	    a0,a2,400870 <main+0x2e0>                                                                 
                // ".word 0x04810004 \t\n"      //bgez	    a0,400874 <main+0x2e4>                                                                 
                // ".word 0x04830004 \t\n"      //bgezl	    a0,400878 <main+0x2e8>                                                                 
                // ".word 0x04910004 \t\n"      //bgezal	a0,40087c <main+0x2ec>                                                                 
                // ".word 0x04930004 \t\n"      //bgezall   a0,400880 <main+0x2f0>                                                                 
                // ".word 0x1c800004 \t\n"      //bgtz	    a0,400884 <main+0x2f4>                                                                 
                // ".word 0x5c800004 \t\n"      //bgtzl	    a0,400888 <main+0x2f8>                                                                 
                // ".word 0x18800004 \t\n"      //blez	    a0,40088c <main+0x2fc>                                                                 
                // ".word 0x58800004 \t\n"      //blezl	    a0,400890 <main+0x300>                                                                 
                // ".word 0x04800004 \t\n"      //bltz	    a0,400894 <main+0x304>                                                                 
                // ".word 0x04820004 \t\n"      //bltzl	    a0,400898 <main+0x308>                                                                 
                // ".word 0x04900004 \t\n"      //bltzal	a0,40089c <main+0x30c>                                                                 
                // ".word 0x04920004 \t\n"      //bltzall   a0,4008a0 <main+0x310>                                                                 
                // ".word 0x14860004 \t\n"      //bne	                                                                     
                 // ".word 0x54860004 \t\n"      //bnel	    
                // ".word 0x49000004 \t\n"      //bc2f	    400920 <main+0x390>       
                // ".word 0x49020004 \t\n"      //bc2fl	    400924 <main+0x394>       
                // ".word 0x49030004 \t\n"      //bc2tl     400928 <main+0x398>       
                 // ".word 0x0810016C \t\n"      //j	               
                 // ".word 0x0c10016C \t\n"      //jal	                       
                );
    return 0;
}    


/*
double f6 = 6.0;
"lwc1 $17,0(%0)\t\n"
                    :: "r"(&f6):"memory");
    asm volatile (
                    "lui $4, 0x4\t\n"            
                    "lui $6, 0x5\t\n"  
*/



/*
第五类：
加载和输出指令
*/
#include <stdio.h>
int main(int argc, char *argv[])
{  

    char x[100];
    a0 = x;
    asm volatile (
                    

                // ".word 0x90860004 \t\n"      //lbu	    a2,4(a0)                                                                                         
                // ".word 0xd4860004 \t\n"      //ldc1	    $f6,4(a0)                                                                                         
                // ".word 0xd4860004 \t\n"      //ldc1	    $f6,4(a0)                                                                                         
                // ".word 0xd8860004 \t\n"      //ldc2	    $6,4(a0)       
                // ".word 0x84860004 \t\n"      //lh	    a2,4(a0)              
                // ".word 0x94860004 \t\n"      //lhu	    a2,4(a0)              
                // ".word 0xc0860004 \t\n"      //ll	    a2,4(a0)     
                // ".word 0x3c060004 \t\n"      //lui	    a2,0x4     
                 ".word 0x8c860006 \t\n"      //lw	    a2,4(a0)    
                // ".word 0x88860004 \t\n"      //lwl	    a2,4(a0)              
                // ".word 0x98860004 \t\n"      //lwr	    a2,4(a0)                  
                // ".word 0xa0860004 \t\n"      //sb	    a2,4(a0)              
                // ".word 0xe0860004 \t\n"      //sc	    a2,4(a0)     
                // ".word 0xa4860004 \t\n"      //sh	    a2,4(a0)              
                // ".word 0x28860004 \t\n"      //slti	    a2,a0,4     
                // ".word 0x2c860004 \t\n"      //sltiu	    a2,a0,4     
                // ".word 0xac860004 \t\n"      //sw	    a2,4(a0)              
                // ".word 0xa8860004 \t\n"      //swl	    a2,4(a0)              
                // ".word 0xb8860004 \t\n"      //swr	    a2,4(a0)                                  
                );
    return 0;
}


            